package bo

import (
	"github.com/shopspring/decimal"
	"time"
)

type GetPurchaseOrderPageReqBo struct {
	SupplierID           string `json:"supplierId"`           // 供应商,关联到supplier表主键id
	PurchaserID          string `json:"purchaserId"`          // 采购员,关联到
	ExpectationGoodsDate string `json:"expectationGoodsDate"` // 期望收货日期
	Types                string `json:"types"`                // 类型,0表示供应商创建,1表示现场采购
	OrderNo              string `json:"orderNo"`              // 操作流水号
	StartDate            string `json:"startDate"`            // 开始时间
	EndDate              string `json:"endDate"`              // 结束时间
	PageSize             int64  `json:"pageSize"`             // 当前条数
	PageNumber           int64  `json:"pageNumber"`           // 当前页数
	StoreStatus          string `json:"storeStatus"`          // 入库状态,0表示待入库,1表示部分入库,2表示已入库
	Source               string `json:"source"`               // 来源,0表示采购计划生成,1表示手动创建采购单
	Status               string `json:"status"`               // 状态,-1表示取消订单,0表示待收货,10表示部分收货,20表示全部收货,30表示取消订单,40表示退货
}

type GetPurchaseOrderPageRespBo struct {
	ID                   int64           `json:"id"`                   // 主键id
	EnterpriseID         int64           `json:"enterpriseId"`         // 关联到enterprise表主键id
	SupplierID           int64           `json:"supplierId"`           // 供应商,关联到supplier表主键id
	SupplierName         string          `json:"supplierName"`         // 供应商,关联到supplier表主键id
	PurchaserID          int64           `json:"purchaserId"`          // 采购员,关联到
	PurchaserName        string          `json:"purchaserName"`        // 采购员,关联到
	ExpectationGoodsDate time.Time       `json:"expectationGoodsDate"` // 期望收货日期
	PurchaserTotalCount  decimal.Decimal `json:"purchaserTotalCount"`  // 采购总数量
	PurchaserTotalAmount decimal.Decimal `json:"purchaserTotalAmount"` // 采购总金额
	Source               int64           `json:"source"`               // 来源,0表示采购计划生成,1表示手动创建采购单
	Types                int64           `json:"types"`                // 类型,0表示供应商创建,1表示现场采购
	Status               int64           `json:"status"`               // 状态,-1表示取消订单,0表示待收货,10表示部分收货,20表示全部收货,30表示取消订单,40表示退货
	StoreStatus          int64           `json:"storeStatus"`          // 入库状态,0表示待入库,1表示部分入库,2表示已入库
	Remark               string          `json:"remark"`               // 备注
	CreatedAt            time.Time       `json:"createdAt"`            // 创建时间
	UpdatedAt            time.Time       `json:"updatedAt"`            // 更新时间
	OrderNo              string          `json:"orderNo"`              // 操作流水号
	OperateID            int64           `json:"operateId"`            // 操作人,关联到person表主键id
	OperateName          string          `json:"operateName"`          // 操作人名称
}
